High availability and failover provide redundancy and fault tolerance. The goal is to ensure a service remains available after a failure, with minimal service disruption. Multiple devices can be connected and similarly configured to provide a specific service. Typically, multiple devices synchronize data and settings to allow active services on a primary device to be moved to a backup device when a failure occurs. This allows the backup device to resume operations previously performed by the primary device. Unfortunately, current solutions for high availability and failover require a great deal of manual configuration—both to establish an appropriate high availability and failover system and maintain the system updated and ready. Indeed, establishing a high availability system and properly synchronizing information on all relevant devices can be an extremely onerous task, particularly in larger, more complex and dynamic environments. Furthermore, current solutions for high availability and failover lack a flexible, transparent, and automated mechanism for ensuring service and communications continuity throughout a failure event.